MacZoop makes it very easy to handle your application's prefs file safely and simply, but there seems to be some confusion over how to employ it. ZPrefsFile is a ZResourceFile which is a ZFile. Thus your application is free to implement its prefs using either the data fork or the resource fork of the file. Often, resource-based prefs are preferred (no pun intended!) since it is easy to map arbitrary structs to resources and vice versa, and is especially useful if you want to store several separate pieces of data in the prefs file. If you use the data fork you either have to manage the organisation of several pieces of data in the data fork, or else amalgamate all your prefs settings into one large structure.
In either case, you are responsible for deciding how your prefs are formatted. Typically, you'll define a structure that has fields for the various settings you want to store. If you want your prefs to be readable by both 68k and PowerPC versions of your application, you should take care to ensure that the structures are defined with 68k alignment.
ZPrefsFile is a class that knows where to locate the Preferences Folder, therefore you need only supply the filename you require and the file will automatically be created in the right place. Alternatively, you don't even need to provide a filename- it can obtain the name of your application by interrogating the ZApplication object, and append "prefs" to the name to generate the filename. Once you have instantiated a ZPrefsFile object, you can read and write your structures to it like any other file.
ZApplication provides some hooks to cue your creation, reading and writing of prefs files. Normally, you would override ReadPrefs(), create your ZPrefsFile object (perhaps storing a reference to it in your application's data members), then read your structures. Saving settings can be done in an override to the ShutDown() method, in which you'd gather the settings into your structures, write it to the file then dispose of the file object. If you want to read or write to the prefs file at other times, it's up to you to provide a public interface to do so in your application object, or else make the prefs file object a global variable.
A user-interface for changing preferences settings is not the purpose of ZPrefsFile- for that you would normally use a subclass of ZDialog in which you would edit the values of the fields in your prefs structures.